﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Padelcenter.Common
{
    public class TipoProducto : CommonInterface
    {
        public TipoProducto() 
        {
            this.ResetParams();
        }

        public void ResetParams()
        {
            this.IdTipoProducto = 0;
            this.IdTipoProductoPadre = 0;
            this.Descripcion = string.Empty;
            this.Orden = 0;
            this.ConFiltroActivo = false;
            this.Activo = true;
            this.FechaAlta = Convert.ToDateTime("1900-01-01");
        }

        private int _idTipoProducto;
        private int _idTipoProductoPadre;
        private string _descripcion;
        private int _orden;
        private bool _conFiltroActivo;
        private bool _activo;
        private DateTime _fechaAlta;
        private TipoProducto _tipoProductoPadre;

        public TipoProducto TipoProductoPadre
        {
            get { return _tipoProductoPadre; }
            set { _tipoProductoPadre = value; }
        }

        public DateTime FechaAlta
        {
            get { return _fechaAlta; }
            set { _fechaAlta = value; }
        }

        public bool Activo
        {
            get { return _activo; }
            set { _activo = value; }
        }

        public bool ConFiltroActivo
        {
            get { return _conFiltroActivo; }
            set { _conFiltroActivo = value; }
        }
        
        public int Orden
        {
            get { return _orden; }
            set { _orden = value; }
        }

        public string Descripcion
        {
            get { return _descripcion; }
            set { _descripcion = value; }
        }

        public int IdTipoProductoPadre
        {
            get { return _idTipoProductoPadre; }
            set { _idTipoProductoPadre = value; }
        }

        public int IdTipoProducto
        {
            get { return _idTipoProducto; }
            set { _idTipoProducto = value; }
        }
    }

    public class TipoProductoDescripcion : CommonInterface
    {
        public TipoProductoDescripcion() { this.ResetParams(); }

        public void ResetParams()
        {
            this.TipoProducto   = new TipoProducto();
            this.Idioma         = new Idioma();
            this.Descripcion    = string.Empty;
        }

        private TipoProducto _tipoProducto;
        private Idioma _idioma;
        private string _descripcion;

        public string Descripcion
        {
            get { return _descripcion; }
            set { _descripcion = value; }
        }

        public Idioma Idioma
        {
            get { return _idioma; }
            set { _idioma = value; }
        }

        public TipoProducto TipoProducto
        {
            get { return _tipoProducto; }
            set { _tipoProducto = value; }
        }
    }

    public class TipoProductoTipoPropiedad : CommonInterface
    {
        public TipoProductoTipoPropiedad() { this.ResetParams();}

        public void ResetParams()
        {
            this.TipoProducto = new TipoProducto();
            this.TipoPropiedad = new TipoPropiedad();
        }

        private TipoProducto _tipoProducto;
        private TipoPropiedad _tipoPropiedad;

        public TipoPropiedad TipoPropiedad
        {
            get { return _tipoPropiedad; }
            set { _tipoPropiedad = value; }
        }

        public TipoProducto TipoProducto
        {
            get { return _tipoProducto; }
            set { _tipoProducto = value; }
        }
    }
}
